#ifndef _TETRAHEDRON_H_
#define _TETRAHEDRON_H_

#include "cellaccess.h"
#include <vector>

namespace visualization
{

class Tetrahedron : public Cell3D
{
	friend class CellAccess;

private:
	CellAccess *server;
	Tetrahedron(CellAccess *access) : server(access) {}

public:
	static const size_t facets[12];
	static const size_t facet_offsets[4];
	static const size_t facet_size[4];

	virtual void CacuParaCoord(const Point &dest, Point &para) const {}
	virtual void CacuWorldCoord(const Point &dest, Point &world) const {}

	virtual CellType GetFacet(size_t i, size_t *point_ids);
	virtual Point GetBeryCenter() const;
};

}

#endif
